
/*
 * 
 */
function createTab(options)
{
	var tabId 	 	= options.id; 
	var tabLabel 	= options.label;
	var name	 	= options.name;
	var showIt   	= options.showIt;
	var statusClass = options.statusClass;
	
	var tabsWinSelector = $('#ContactTabs');
	
	$('#DialogChat').show();

	var findTab = $("li[@type_='cl-contact-tab']", tabsWinSelector)
		.filter(function() {
			return ($(this).attr('contact_id') == options.id);
		});

	if (findTab.length == 1) {
		if (showIt == true) {
			findTab.click();
		}
		return undefined;
	}
	
	var panel	 = $('#cl-chat').clone().removeAttr('id');
	var newTab = defaultTemplate.tabTemplate.replace(/{id}/g,tabId).replace(/{label}/g, tabLabel);
	
	var newTabWin = $(newTab)
		.addClass(defaultTemplate.tabClass)
		.appendTo($('ul', tabsWinSelector));
	
	$('div[@type_=cl-contact-status]', newTabWin)
		.addClass(defaultTemplate.contactStatusIconClass)
		.addClass(defaultTemplate.tabStatusClass);
	if (statusClass != undefined) {
		$('div[@type_=cl-contact-status]', newTabWin)
			.addClass(statusClass);
	}
	
	var panelWin = $(defaultTemplate.panelTemplate.replace(/{id}/g, tabId))
						.appendTo(tabsWinSelector)
						.addClass(defaultTemplate.panelClass); 
	
	$('div.cl-chat-contact-infopanel-name',panel).text(tabLabel);
	$('div.cl-chat-contact-infopanel-uin',panel).text(tabId);
	$('a.cl-chat-closeinchatmessage',panel).attr('href_id', '#_'+tabId);
	
	panel.appendTo(panelWin).show();
	updateTabs(tabsWinSelector);

	if (showIt == true) {
		newTabWin.click();
	}
}

/**
 * 
 * @param tabsWinSelector
 * @return
 */
function updateTabs() 
{
	var tabsWinSelector = $('#ContactTabs');
	
	if ($('ul > li', tabsWinSelector).length == 0) {
		return undefined;
	}
	
	$('ul > li', tabsWinSelector)
		.unbind('hover')
		.unbind('click')
		.hover(
			function(eventObject){
				$(this).addClass('ui-state-hover');
			},
			function(eventObject){
				$(this).removeClass('ui-state-hover');
			})
		.click(
			function(eventObject){
				var tabContent = $('a', this).attr('href_id');
				//alert(tabContent);
						
				// Переключим содержимое панели
				$('div.ui-tabs-panel', tabsWinSelector)
					.addClass('ui-tabs-hide')
					.removeAttr('isActive');

				$(tabContent, tabsWinSelector)
					.removeClass('ui-tabs-hide')
					.attr('isActive', 1);
				
				// Переключим вкладку
				$('ul > li', tabsWinSelector)
					.removeClass('ui-state-active')
					.removeClass('ui-tabs-selected')
					.addClass('ui-state-default');
				
				$(this)
					.removeClass('ui-state-default')
					.addClass('ui-state-active')
					.addClass('ui-tabs-selected');
				
				// Фокус на панель ввода
				$('textarea.cl-chat-textarea', $(tabContent, tabsWinSelector)).focus();
				
				return false;
			});
	
	$('a.ui-tabs-close, a.cl-chat-closeinchatmessage',tabsWinSelector)
		.unbind('click')
		.click(
			function(eventObject) {
				var tabContent = $(this).attr('href_id');
				
				$('a.ui-tabs-close[@href_id='+tabContent+']', tabsWinSelector).parent().remove();
				$(tabContent, tabsWinSelector).remove();
				
				// Переключим на первую вкладку, если она есть и она уже не активная
				var firstTab = $('ul > li:first-child', tabsWinSelector);
				
				if (firstTab.length == 1) {
					if (!firstTab.hasClass('ui-state-active')) {
						firstTab.click();
					} 
				}
				
				if ($('ul > li', tabsWinSelector).length == 0) {
					$('#DialogChat').hide();
				}
				
				return false;
			});
	
	$('a[@type_=button]', tabsWinSelector)
		.unbind('hover')
		.hover(
			function(){
				$(this).addClass('ui-state-hover');
			},
			function(){
				$(this).removeClass('ui-state-hover');
			});
	
	// Если нет активных вкладок, то пееключим на эту
	if ($('ul > li.ui-state-active', tabsWinSelector).length == 0) {
		$('ul > li:first-child', tabsWinSelector).click();
	}

}
